#include <SDL.h>
#include <iostream>

int main(int argc, char* argv[]) {
    const char * env = getenv("DYLD_LIBRARY_PATH");
    printf("env is = %s\n",env);
    // 初始化 SDL
    if (SDL_Init(SDL_INIT_VIDEO) < 0) {
        std::cerr << "SDL could not initialize! SDL_Error: " << SDL_GetError() << std::endl;
        return -1;
    }

    // 创建窗口
    SDL_Window* window = SDL_CreateWindow("SDL Tutorial", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, SDL_WINDOW_SHOWN);
    if (!window) {
        std::cerr << "Window could not be created! SDL_Error: " << SDL_GetError() << std::endl;
        SDL_Quit();
        return -1;
    }

    // 事件循环标志
    bool running = true;

    // 事件循环
    while (running) {
        SDL_Event event;
        while (SDL_PollEvent(&event)) {
            // 处理事件
            printf("recv sdl event type=%d\n",event.type);
            switch (event.type) {
                case SDL_QUIT: // 窗口关闭事件
                    running = false;
                    break;
                // 可以在这里添加更多事件处理
            }
        }

        // 在这里可以添加绘制逻辑
        // 例如：SDL_SetRenderDrawColor(renderer, 255, 0, 0, 255);
        //       SDL_RenderClear(renderer);
        //       SDL_RenderPresent(renderer);

        // 控制帧率（可选）
        SDL_Delay(16); // 大约 60 FPS
    }

    // 清理资源
    SDL_DestroyWindow(window);
    SDL_Quit();

    return 0;
}